Enterprise resource planning (ERP) systems are used to assist manufacturers and other businesses in managing various aspects of their business, including planning products, purchasing parts, maintaining inventories, interacting with suppliers, providing customer service, and tracking orders, as examples. ERP systems are often implemented in software modules that each address one or more of these activities. ERP systems may also include application modules to manage the finances, human resources, and other aspects of a business. An ERP system typically uses or is integrated with a relational database and associated database management system (DBMS), for example, an ORACLE™ database. A relational database includes a set of tables containing data assigned to predefined categories. Each table may include a data category in each column and a unique instance of data in each row (having values for one or more of the data categories). For example, a typical business order entry database might include a table that describes a different customer in each row, where each row has values in one more columns of the table for the customer's name, address, phone number, and other appropriate parameters. Another table might describe product orders using values for the product, customer, date, and sales price.
Although the ERP system typically has full access to the data stored in the database, other systems used by a business may not be able to access the database to obtain desired data. These systems may include, for example, external systems that complement or compete with the ERP system and that use data stored in the database. While it might be possible for such external systems to frequently retrieve all of the data in the database to keep the data that it uses updated, such operations are inefficient since much of the data may not have changed by the retrievals. In addition, allowing such external systems to directly access the database degrades the performance of both the database and the ERP system. These and other disadvantages have made prior techniques for retrieving data from databases inadequate for the needs of many businesses.